package rddSummary.transition.value_type

import org.apache.spark.{SparkConf, SparkContext}

object test_groupBy {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setAppName("test").setMaster("local")
    val context = new SparkContext(conf)

    val dates = context.makeRDD(List(1,2,3,4),1)

    /**
     * 将数据根据指定的规则进行分组, 分区默认不变，但是数据会被打乱重新组合，我们将这样
     * 的操作称之为 shuffle。极限情况下，数据可能被分在同一个分区中
     * 一个组的数据在一个分区中，但是并不是说一个分区中只有一个组
     */
    val value = dates.groupBy(_ % 2)

    value.collect().foreach(println)

    context.stop()
  }

}
